Use the same approach as other generated headers (a temporary file,
compare to the existing, then copy), to avoid touching st.h, so
that other dependent objects are not rebuilt, if not needed.
It should speed up building when switching git branches, as often
config.status or automake are run, causing Makefiles to be recreated.
https://bugzilla.gnome.org/show_bug.cgi?id=638453
src/test-recorder.ogg
src/test-theme
src/st.h
+src/stamp-st.h
+src/stamp-st.h.tmp
stamp-h1
tests/run-test.sh
xmldocs.make
st/st-widget.h \
$(NULL)
-st.h: Makefile
+st.h: stamp-st.h
+ @true
+stamp-st.h: Makefile
$(AM_V_GEN) (echo "#define ST_H_INSIDE 1"; \
for name in $(st_source_h); do \
echo "#include <"$$name">"; \
- done; echo "#undef ST_H_INSIDE") > st.h.tmp && mv st.h.tmp st.h
+ done; echo "#undef ST_H_INSIDE") > $@.tmp && \
+ (cmp -s $@.tmp st.h || cp $@.tmp st.h) && \
+ rm -f $@.tmp && \
+ echo timestamp > $(@F)
BUILT_SOURCES += st.h